package com.ctshk.rpc.order.goods.req;

import com.ctshk.rpc.order.goods.req.conmodity.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 商品-ADD参数
 * </p>
 *
 * @author 姜斌文
 * @since 2021-04-08
 */
@Data
@ApiModel(value="CommodityAddReq对象", description="商品Add")
public class CommodityAddReq implements Serializable {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "保存类型：1-保存;2-保存并提交审批")
    private String saveType;
    
    @ApiModelProperty(value = "商品主键id")
    private Long id;

    @ApiModelProperty(value = "商品分类id")
    private Long commodityClassificationId;

    @ApiModelProperty(value = "商品分类名称")
    private String commodityClassificationName;

    @ApiModelProperty(value = "商品名称")
    private String commodityName;

    @ApiModelProperty(value = "供应商ID")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "负责人ID")
    private Long chargePersonId;

    @ApiModelProperty(value = "负责人姓名")
    private String chargePersonName;

    @ApiModelProperty(value = "商品品牌id")
    private Long commodityBrandId;

    @ApiModelProperty(value = "商品品牌名称")
    private String commodityBrandName;

    @ApiModelProperty(value = "商品介绍")
    private String commodityIntroduce;

    @ApiModelProperty(value = "计量id")
    private Long unitOfMeasurementId;

    @ApiModelProperty(value = "计量名称")
    private String unitOfMeasurementName;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "打包状态:1：允许打包;2：不允许打包;3：只限打包")
    private Integer packStatus;

    @ApiModelProperty(value = "运费模板id")
    private Long freightTemplateId;

    @ApiModelProperty(value = "模板名称")
    private String templateName;

    @ApiModelProperty(value = "是否允许门店自提：0：否；1：是")
    private Integer isItSelfProvided;

    @ApiModelProperty(value = "售后服务：	1：可退可换（不勾选默认为2）；2：不退不换")
    private Integer afterSaleService;

    @ApiModelProperty(value = "退改手续费类型")
    private Integer refundServiceChargeType;

    @ApiModelProperty(value = "退改手续费")
    private BigDecimal refundServiceCharge;

    @ApiModelProperty(value = "注意事项")
    private String mattersNeedingAttention;

    @ApiModelProperty(value = "商品详情")
    private String commodityDetails;

    @ApiModelProperty(value = "商品编码")
    private String commodityNumber;

    @ApiModelProperty(value = "售卖状态：	1：上架；2：下架")
    private Integer saleStatus;

    @ApiModelProperty(value = "审批状态：1：待提交；2：审批中；3：s审批通过；4：审批未通过")
    private Integer approvalStatus;

    @ApiModelProperty(value = "审批id")
    private Long approvalId;

    @ApiModelProperty(value = "商品属性参数对象")
    private CommodityAttributeReq commodityAttributeReq;

    @ApiModelProperty(value = "商品销售区域参数对象")
    private CommoditySalesAreaReq commoditySalesAreaReq;

    @ApiModelProperty(value = "商品规格参数对象")
    private ShoppingCommoditySpecificationsNameReq shoppingCommoditySpecificationsNameReq;

    @ApiModelProperty(value = "商品文件表参数对象")
    private List<CommodityFileReq> commodityFileReqList;

    @ApiModelProperty(value = "商品关键词字符串")
    private String commodityKeyWordStr;

    @ApiModelProperty(value = "商品标签词字符串")
    private String commodityLabelStr;

    @ApiModelProperty(value = "商品标签词字符串List")
    private List<String> commodityLabelList;

    @ApiModelProperty(value = "商品推荐字符串")
    private String commodityRecommendStr;

    @ApiModelProperty(value = "商品推荐字符串List")
    private List<String> commodityRecommendList;

    @ApiModelProperty(value = "商品成本表参数对象")
    private List<CommodityCostReq> commodityCostReqList;

    @ApiModelProperty(value = "商品成本表属性参数对象")
    private List<CommodityCostAttributeReq> commodityCostAttributeReqList;
}
